package com.xuesinuo.ots.config.i18n;

import jakarta.annotation.Nullable;

/**
 * 自定义的i18nTool
 * 
 * @author xuesinuo
 */
public interface I18nTool {
    /**
     * 获取当前环境下的语言
     * 
     * @return 语言
     */
    @Nullable
    public I18nLanguage getLanguage();

    /**
     * 获取当前环境下的语言，允许一个缺省值，获取结果肯定不是null
     * 
     * @return 语言
     */
    public I18nLanguage getLanguageAsDefault();

    /**
     * 获取提示语
     *
     * @param i18nTips 提示语
     * @param args     占位符变量
     * @return 提示语字符串
     */
    public String getTip(I18nTips i18nTips, Object... args);
}
